---
title: "Local Development"
description: "Set up Browserable locally for development"
---

## Prerequisites

Before you begin, make sure you have the following installed on your system:

- [Git](https://git-scm.com/)
- [Docker](https://www.docker.com/get-started)
- [Docker Compose](https://docs.docker.com/compose/install/) (usually comes with Docker Desktop)
- [Node & NPM] (https://nodejs.org/en/download)

## Getting started

### Clone the repository

First, clone the Browserable repository from GitHub:

```bash
git clone https://github.com/browserable/browserable.git
cd browserable
```

### Start the development environment

The development environment is containerized using Docker Compose. To start all services:

```bash
docker compose -f deployment/docker-compose.dev.yml up
```

This will start all the required services including:

- UI Server (http://localhost:2001)
- Tasks Server (http://localhost:2003)
- MongoDB (port 27017)
- MongoDB Express UI (http://localhost:3300)
- Redis (port 6379)
- MinIO Object Storage:
  - API (http://localhost:9000)
  - Console (http://localhost:9001)
- Supabase Services:
  - Database (port 5432)
- Docs (http://localhost:2002)

### Start the local browser service

```bash
cd browser
npm install
```

```bash
npm start
```

This will start the local browser service on port 9221

### Available Interfaces

Once the development environment is up and running, you can access these interfaces:

1. **Main Application UI**

   - URL: http://localhost:2001
   - The main Browserable user interface

2. **Tasks Server**

   - URL: http://localhost:2003
   - Handles background tasks and browser automation

3. **MongoDB Express**

   - URL: http://localhost:3300
   - Username: admin
   - Password: pass
   - Web interface for managing MongoDB data

4. **MinIO Console**
   - URL: http://localhost:9001
   - Username: browserable-storage
   - Password: secret1234
   - Object storage management interface

## Development Workflow

The development environment is set up with hot-reloading enabled. Any changes you make to the source files will automatically trigger a rebuild of the affected components.

### Project Structure

- `ui/` - Frontend React application
- `tasks/` - Backend services and task management
- `deployment/` - Docker and deployment configurations
- `docs/` - Documentation files

## Stopping services

1. Use Ctrl+C to stop the local browser service.
2. Run `npx browserable down` to bring down the docker services. (or run `docker compose -f deployment.dev.yml down` inside the browserable/deployment folder)

## Getting Help

If you need assistance or want to stay updated with the latest features:

- Join our [Discord community](https://discord.gg/b6s9fXNjeQ)
- Report issues on our [GitHub repository](https://github.com/browserable/browserable)
